<!DOCTYPE HTML>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Qpid Management</title>
    <link rel="stylesheet" href="dojo/dojo/resources/dojo.css">
    <link rel="stylesheet" href="dojo/dijit/themes/claro/claro.css">
    <link rel="stylesheet" href="dojo/dojox/grid/resources/claroGrid.css">
    <link rel="stylesheet" href="dojo/dojox/grid/enhanced/resources/claro/EnhancedGrid.css">
    <link rel="stylesheet" href="dojo/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css">
    <link rel="stylesheet" href="dojo/dojox/form/resources/CheckedMultiSelect.css">
    <link rel="stylesheet" href="dojo/dojox/form/resources/FileInput.css" />
    <link rel="stylesheet" href="css/common.css" media="screen">
    <script>
        function getContextPath()
        {
            var contextPath = "/";
            var documentURL = document.URL;
            var managementPageStart = documentURL.lastIndexOf("/");
            var firstSlashPos = documentURL.indexOf("/", documentURL.indexOf("//") + 2);
            if (managementPageStart > firstSlashPos)
            {
                contextPath = documentURL.substring(firstSlashPos, managementPageStart);
            }
            return contextPath;
        }

        var dojoConfig = {
            tlmSiblingOfDojo:false,
            async:true,
            baseUrl: getContextPath(),
            packages:[
                { name:"dojo", location:"dojo/dojo" },
                { name:"dijit", location:"dojo/dijit" },
                { name:"dojox", location:"dojo/dojox" },
                { name:"qpid", location:"js/qpid" }
            ]
        };

    </script>
    <script src="dojo/dojo/dojo.js">
    </script>

    <script>
        var qpidManagementHelper = null;
        var management = null;
        require([
                    "dojo/parser",
                    "dojo/query",
                    "qpid/authorization/checkUser",
                    "qpid/common/ConsoleHelper",
                    "qpid/management/Management",
                    "qpid/common/util",
                    "qpid/management/treeView",
                    "qpid/management/controller",
                    "qpid/common/updater",
                    "dijit/layout/BorderContainer",
                    "dijit/layout/TabContainer",
                    "dijit/layout/ContentPane",
                    "dijit/TitlePane",
                    "dijit/Menu",
                    "dijit/MenuItem",
                    "qpid/common/footer"
                    ], function(parser, query, User, ConsoleHelper, Management, util, treeView, controller, updater){
                        parser.parse();
                        qpidManagementHelper = ConsoleHelper;
                        management = new Management("",util.xhrErrorHandler);
                        management.init(function()
                        {
                            updater.registerUpdateIntervalListener(management.userPreferences);
                            qpidManagementHelper.management = management;
                            User.getUserAndUpdateUI(management);
                            controller.init(management);
                            treeView.create(getContextPath() + 'service/structure', management, query('div[qpid-type="treeView"]')[0]);
                            dijit.Tooltip.defaultPosition = ["after-centered", "below-centered"];
                        });
                    });
    </script>

</head>
<body class="claro">

<div id="pageLayout" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design: 'headline', gutters: false">
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'top'">
        <div id="header" class="header" style="float: left; width: 300px"></div>
        <div style="float: right;">
          <div id="login" class="hidden"><span id="authenticatedUser" class="hidden"></span>
            <div id="authenticatedUserControls" data-dojo-type="dijit.form.DropDownButton" data-dojo-props="iconClass: 'preferencesIcon'">
            <div data-dojo-type="dijit.Menu">
                <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick: function(){window.location='logout';}" >Log out</div>
                <div data-dojo-type="dijit.MenuItem"
                    data-dojo-props="iconClass:'dijitIconFunction',onClick: function(){qpidManagementHelper.showPreferencesDialog();}">Preferences</div>
                <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick: function(){qpidManagementHelper.showAPI();}">REST API</div>
                <div data-dojo-type="dijit.MenuItem"
                     data-dojo-props="iconClass: 'helpIcon', onClick: function(){qpidManagementHelper.showDocumentation();}">Documentation</div>
            </div>
          </div>
        </div>
       </div>
    </div>
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'leading', splitter: true" style="width:20%">
        <div qpid-type="treeView" qpid-props="query: 'service/structure'" ></div>
    </div>
    <div id="managedViews" data-dojo-type="dijit.layout.TabContainer" data-dojo-props="region:'center', tabPosition: 'top'">
    </div>
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'bottom'">
        <div qpid-type="footer"></div>
    </div>

    <div class="dijitHidden">
        <div data-dojo-type="dijit.Dialog" data-dojo-props="title: 'Error'" id="errorDialog">
            <div>
                <div class="errorDialogErrorPrimary">
                    <span id="errorDialog.statusCode">000</span>&nbsp;-&nbsp;<span id="errorDialog.errorMessage">error</span>
                </div>

                <div class="clear" class="errorDialogErrorSecondary">
                    <div id="errorDialog.advice.reconnect">
                        Please login again and retry your operation.
                    </div>
                    <div id="errorDialog.advice.retry">
                        Please correct the problem and retry your operation.
                    </div>
                </div>
            </div>
            <div class="dijitDialogPaneActionBar qpidDialogPaneActionBar">
                <input type="button" id="errorDialog.button.cancel" value="Cancel" label="Cancel" dojoType="dijit.form.Button" onClick="dijit.byId('errorDialog').hide();"/>
                <input type="button" id="errorDialog.button.relogin"  value="Login" label="Login" dojoType="dijit.form.Button" onClick="dijit.byId('errorDialog').hide(); window.location='/';"/>
            </div>
        </div>
    </div>
</div>

</body>
</html>
